﻿<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML><HEAD><TITLE>SplitPath</TITLE>
<META http-equiv=Content-Type content="text/html; charset=UTF-8"><LINK 
href="../css/commands.css" type=text/css rel=stylesheet><LINK media=print 
href="../css/print.css" type=text/css rel=stylesheet>
<META content="MSHTML 6.00.2900.5512" name=GENERATOR></HEAD>
<BODY>
<H1>SplitPath</H1>


<P>将一个文件名或 URL (统一资源定位符)分解成它的名称、目录、扩展名和驱动器。</P>
<P class=CommandSyntax>SplitPath, InputVar [, OutFileName, OutDir, OutExtension, 
OutNameNoExt, OutDrive]</P>
<h3>参数 </h3>
<TABLE borderColor=#c0c0c0 cellSpacing=0 cellPadding=3 width="100%" border=1>
  <TBODY>
  <TR>
    <TD>InputVar</TD>
    <TD>包含用来被分析的文件名的变量名称。</TD></TR>
  <TR>
    <TD width="15%">OutFileName</TD>
    <TD width="85%">储存不带路径的文件名的变量名称。文件的扩展名包括在内。</TD></TR>
  <TR>
    <TD>OutDir</TD>
    <TD>储存文件的目录，包括驱动器字母或共享名称(如果有的话)的变量名称。最后的反斜线不被包括在内，即使文件定位在一个驱动器的根目录。</TD></TR>
  <TR>
    <TD>OutExtension</TD>
    <TD>储存文件的扩展名(例如TXT、DOC 或 EXE)的变量名称。圆点不被包括在内。</TD></TR>
  <TR>
    <TD>OutNameNoExt</TD>
    <TD>储存不带路径、圆点和扩展名的文件名的变量名称。</TD></TR>
  <TR>
    <TD>OutDrive</TD>
    <TD>储存文件的驱动器字母或服务器名称的变量名称。如果文件在一个本地或映射驱动器，变量将被设为驱动器字母跟一个冒号(无反斜线)。如果文件在一个网络路径(UNC 
      通用命名规则)，变量将被设为共享名，例如 \\Workstation01</TD></TR></TBODY></TABLE>
<h3>说明</h3>
<P>如果相应的信息不需要，任何一个输出变量可被省略。</P>
<P>如果 <EM>InputVar</EM> 包含一个缺少驱动器字母的文件名(即它不含路径或仅有一个相对路径)，<EM>OutDrive</EM> 
将为空，但所有其他输出变量将设置正确。同样地，如果不存在路径，<EM>OutDir</EM> 
将为空；如果有一个路径但不存在文件名，&nbsp;<EM>OutFileName</EM>&nbsp;和 <EM>OutNameNoExt</EM> 
将为空。</P>
<P>在文件系统里实际的文件和目录不通过此命令核查。它简单地分析在 <EM>InputVar</EM> 里给出的字串。</P>
<P>在文件名里不合法的通配符(*&nbsp;和 ?) 
以及其他字符将与合法字符一样来对待，除了冒号、反斜线和句号(圆点)，是根据它们在划分驱动器字母、目录和文件扩展名的界限性质来处理的。</P>
<P><STRONG>对 URLs 的支持</STRONG>: 如果 <EM>InputVar</EM> 包含一个双斜线，例如 
http://domain.com 或 ftp://domain.com，<EM>OutDir</EM> 将设为协议前缀 + 域名 + 目录 (例如 
http://domain.com/images)，<EM>OutDrive</EM> 将设为协议前缀 +&nbsp;域名 (例如 
http://domain.com)。所有其他变量将根据它们上面的定义来设置。</P>
<h3>相关命令</h3>
<P><A href="LoopFile.htm#LoopFileExt">A_LoopFileExt</A>, <A 
href="StringSplit.htm">StringSplit</A>, <A 
href="StringGetPos.htm">StringGetPos</A>, <A href="StringMid.htm">StringMid</A>, 
<A href="StringTrimLeft.htm">StringTrimLeft</A>, <A 
href="StringLeft.htm">StringLeft</A>, <A 
href="FileSelectFile.htm">FileSelectFile</A>, <A 
href="FileSelectFolder.htm">FileSelectFolder</A> </P>
<h3>范例</h3><PRE class=NoIndent>FullFileName = C:\My Documents\Address List.txt
   
<SPAN class=CodeCom>;仅从上面取出单单文件名：</SPAN>
SplitPath, FullFileName, name

<SPAN class=CodeCom>; 仅取出它的目录：</SPAN>
SplitPath, FullFileName,, dir

<SPAN class=CodeCom>; 取出所有信息：</SPAN>
SplitPath, FullFileName, name, dir, ext, name_no_ext, drive
   
<SPAN class=CodeCom>; 上面这行会将变量如下设置：</SPAN>
<SPAN class=CodeCom>; name = Address List.txt</SPAN>
<SPAN class=CodeCom>; dir = C:\My Documents</SPAN>
<SPAN class=CodeCom>; ext = txt</SPAN>
<SPAN class=CodeCom>; name_no_ext = Address List</SPAN>
<SPAN class=CodeCom>; drive = C:</SPAN></PRE>
</BODY></HTML>
